/**
 * Redux 中间件的核心，就是在增强 dispatch 的能力
 *
 * Redux 的 第三方中间件
 *
 *    1. redux-logger
 *
 *        打印日志
 *
 *    2. redux-thunk
 *
 *        实现异步逻辑的中间件，让动作支持异步动作
 *
 *        作用：让 action 可以是一个函数
 *
 *        普通动作：包含有 type 属性的一个对象
 *        异步动作：接受 dispatch 与 getState 两个参数的一个函数
 *
 * 需求：页面上有个按钮，点击之后需要延迟1000ms再自增count
 *
 *    1. 组件上做完异步操作之后再派发动作
 *    2. 组件上直接派发一个异步动作
 *
 * 需求：自己实现一个 redux-thunk
 */

import ReactDOM from "react-dom/client";
import { Provider } from "react-redux";

import store from "./store";

import App from "./App";

const root = ReactDOM.createRoot(document.querySelector("#root")!);

root.render(
  <Provider store={store}>
    <App />
  </Provider>
);
